随机截距交叉滞后面板模型附mplus代码和lavaan代码
本教程旨在帮助研究者了解和使用随机截距交叉滞后面板模型(RI-CLPM)的三个常见扩展,并提供使用 R 包 lavaan
和 Mplus 进行建模的实用指导和代码示例。这些扩展包括:纳入时不变预测变量和/或结果变量,进行多组分析,以及纳入多重指标。
本教程旨在帮助研究者了解和使用随机截距交叉滞后面板模型(RI-CLPM)的三个常见扩展,并提供使用 R 包 lavaan
和 Mplus 进行建模的实用指导和代码示例。这些扩展包括:纳入时不变预测变量和/或结果变量,进行多组分析,以及纳入多重指标。
本教程将引导您逐步了解如何使用多层线性模型(Hierarchical Linear Modeling, HLM),也称为混合效应模型或多水平模型,来分析嵌套数据。我们将基于Heck et al. (2014) 第3章的示例进行讲解,该示例探讨了学生数学成绩与学生和学校层面的因素之间的关系。本教程假设您具备基本的统计学知识,并且熟悉SPSS软件的操作。
视频教程在最下方
在教育研究、心理学、社会科学等领域,我们经常遇到嵌套数据。例如,学生嵌套在班级中,班级嵌套在学校中,学校嵌套在学区中。在这种情况下,简单地将所有数据视为独立个体进行分析可能会导致以下问题:
多层线性模型能够有效地解决上述问题。它通过明确地对数据的层次结构进行建模,考虑了组内和组间的变异,从而得到更准确和更全面的分析结果。
本教程使用的示例数据集包含6871名学生,他们嵌套在419所学校中。数据集中的变量包括:
Schcode
: 学校代码。Rid
: 学生在给定学校内的ID。ID
: 学生在所有学校中的唯一ID。Female
: 性别 (0=男性, 1=女性)。SES
: 学生社会经济地位。Math
: 数学成绩(连续变量)。SES_mean
: 学校平均社会经济地位。Prop47yrc
: 学校中计划上四年制大学的学生比例。Public
: 学校类型 (1=公立, 0=其他,如私立)。我们的目标是回答以下问题:
在开始多层建模之前,让我们先尝试使用单层回归来分析数据,以了解其局限性。我们将建立一个简单的线性回归模型,预测学生数学成绩,仅使用学生SES作为预测变量。
模型:
Math_i = b0 + b1 * SES_i + e_i
其中:
Math_i
是学生i的数学成绩。SES_i
是学生i的社会经济地位。b0
是截距。b1
是SES的回归系数。e_i
是残差。在SPSS中,使用“分析” -> “回归” -> “线性”进行分析。将Math
作为因变量,SES
作为自变量。
结果解释:
根据PPT中的结果:
预测方程:
Math_i = b0 + 4.255 * SES_i
(其中b0为截距值)
单层回归的局限性:
虽然这个模型表明SES与数学成绩之间存在显著关系,但它存在一些关键问题:
下图说明了不同学校的学生SES和数学成绩之间的关系可能不同,截距和斜率可能存在变异。
Heck et al. (2014) 推荐的多层模型建模步骤如下:
零模型,也称为方差分解模型或随机截距模型,不包含任何预测变量。其目的是确定因变量(本例中为数学成绩)在不同学校之间是否存在显著的变异。
模型公式:
Math_ij = b0j + e_ij
b0j = g00 + u0j
其中:
Math_ij
是学校j
中学生i
的数学成绩。b0j
是学校j
的平均数学成绩 (截距)。e_ij
是学生层面的随机误差项,假设服从均值为0,方差为σ²的分布。g00
是所有学校的平均数学成绩 (总体平均数)。u0j
是学校层面的随机效应,表示学校j
的平均数学成绩与总体平均数之间的差异,假设服从均值为0,方差为τ²的分布。混合模型公式:
Math_ij = g00 + u0j + e_ij
在SPSS中进行分析:
选择 “分析” -> “混合模型” -> “线性…”.
在弹出的窗口中,选择 ID
作为“主体”变量,Schcode
作为“重复测量”变量。主体变量指的是最低层级的个体ID,而重复测量是更高层级的ID。
注意: Schcode
实际上不是重复测量,但是SPSS需要一个重复测量变量才能运行混合模型,在这里将level 2的学校code放入这个位置。
点击 “继续”。
在下一个窗口中,将 Math
移到“因变量”框中。
点击 “固定…” 按钮,确保“截距”在模型中,且没有其他变量。
点击 “随机…” 按钮,将 Schcode
移到 “组合” 框中。这指定了随机效应的水平。确保“包含截距”已选中。
点击 “估计” 按钮,将估计方法从 “REML” 改为 “ML”,因为我们要进行模型比较。
点击 “统计…” 按钮,选择 “参数估计”,“协方差参数的检验” 和 “随机效应的协方差”。
点击 “确定” 运行模型。
结果解释:
SPSS输出的结果将包含以下关键信息:
g00
,即所有学校的平均数学成绩。σ²
(Level 1残差方差) 和 τ²
(Level 2截距方差,即学校间变异)。如果τ²
的检验结果显著 (p < 0.05),则表明学校之间的数学成绩存在显著差异。这意味着,解释学生数学成绩不仅仅需要考虑学生层面的因素,还需要考虑学校层面的因素。
计算组内相关系数 (ICC):
组内相关系数(Intraclass Correlation Coefficient, ICC)用于衡量观测值在组内的聚集程度。它表示总方差中,组间方差所占的比例。
ICC = τ² / (τ² + σ²)
在本例中,ICC表示学生数学成绩的总变异中,有多少比例是由学校差异造成的。
根据PPT,ICC = 6.515 / (6.515 + 40.679) = 0.138
, 意味着大约13.8%的数学成绩差异存在于学校之间。 通常,ICC值大于0.05被认为是重要的集群效应的指标。
结论:
如果 ICC 显著大于 0,说明学生数学成绩在学校层面存在显著的集群效应,这表明使用多层模型是合适的。
在步骤2中,我们将在Level 1模型中加入学生层面的预测变量,以解释学生数学成绩的个体差异。在本例中,我们将加入学生社会经济地位 (SES) 作为预测变量。
模型公式:
Math_ij = b0j + b1 * SES_ij + e_ij
b0j = g00 + u0j
其中:
Math_ij
是学校j
中学生i
的数学成绩。SES_ij
是学校j
中学生i
的社会经济地位。b0j
是学校j
的平均数学成绩 (截距)。b1
是SES的回归系数,假设在所有学校中都是相同的(固定斜率)。e_ij
是学生层面的随机误差项。g00
是所有学校的平均数学成绩 (总体平均数)。u0j
是学校层面的随机效应。在SPSS中进行分析:
打开步骤1中的模型分析界面(如果关闭了SPSS,需要重新按照步骤1操作至第四步)。
将 SES
移到 “协变量” 框中。
点击 “固定…” 按钮,确保“截距”和SES
都在模型中。
点击 “确定” 运行模型。
结果解释:
SPSS输出的结果将包含以下关键信息:
g00
(总体平均数),b1
(SES的回归系数)。σ²
(Level 1残差方差) 和 τ²
(Level 2截距方差)。模型比较:
为了确定加入SES是否显著提高了模型的拟合度,我们需要将步骤2的模型与步骤1的零模型进行比较。这可以通过似然比检验(Likelihood Ratio Test)来完成。似然比检验的统计量为:
χ² = -2LL(Model 1) - (-2LL(Model 2))
其中,Model 1是零模型,Model 2是加入了SES的Level 1模型。该统计量服从自由度为模型参数差异数的卡方分布。
如果似然比检验结果显著 (p < 0.05),则表明加入SES显著提高了模型的拟合度。
伪R平方(Pseudo-R-squared):
伪R平方用于衡量加入SES后,模型解释的Level 1变异的增加比例。其计算公式为:
Pseudo-R-squared = (σ²(Model 1) - σ²(Model 2)) / σ²(Model 1)
根据PPT内容,伪R平方为 (40.679-38.343)/40.679 = 0.057
表明加入 SES 解释了 5.7% 的学校内部的变异。
结论:
如果似然比检验结果显著,且SES的回归系数显著,则表明学生社会经济地位是学生数学成绩的重要预测因素。
在步骤3中,我们将在模型中加入学校层面的预测变量,以解释学校之间的平均数学成绩的差异。在本例中,我们将加入学校平均SES (SES_mean
)、学校中计划上四年制大学的学生比例 (Prop47yrc
) 和学校类型 (Public
) 作为预测变量。
模型公式:
Math_ij = b0j + b1 * SES_ij + e_ij
b0j = g00 + g01 * SES_mean_j + g02 * Prop47yrc_j + g03 * Public_j + u0j
其中:
Math_ij
是学校j
中学生i
的数学成绩。SES_ij
是学校j
中学生i
的社会经济地位。b0j
是学校j
的平均数学成绩 (截距)。b1
是SES的回归系数,假设在所有学校中都是相同的(固定斜率)。e_ij
是学生层面的随机误差项。g00
是所有学校的平均数学成绩 (总体平均数)。SES_mean_j
是学校j
的平均社会经济地位。Prop47yrc_j
是学校j
中计划上四年制大学的学生比例。Public_j
是学校j
的类型 (1=公立, 0=其他)。g01
, g02
, g03
是对应的回归系数。u0j
是学校层面的随机效应。在SPSS中进行分析:
打开步骤2中的模型分析界面。
将 SES_mean
、Prop47yrc
和 Public
移到 “协变量” 框中。
点击 “固定…” 按钮,确保“截距”, SES
, SES_mean
, Prop47yrc
和 Public
都在模型中。
点击 “确定” 运行模型。
结果解释:
SPSS输出的结果将包含以下关键信息:
g00
, b1
, g01
, g02
, g03
.σ²
(Level 1残差方差) 和 τ²
(Level 2截距方差)。模型比较:
将步骤3的模型与步骤2的模型进行比较,使用似然比检验判断加入Level 2预测变量是否显著提高了模型的拟合度。
结果分析:
根据PPT内容,在Level 1,SES是一个显著正向预测因子 (b = 3.19, s.e. = 0.16, p < .001)。在Level 2,学校平均SES (b = 2.47, s.e. = 0.31, p < .001) 和计划上四年制大学的学生比例 (b = 1.42, s.e. = 0.47, p < .001) 也是显著正向预测因子。学校类型 (b = -0.16, s.e. = 0.27, p = .549) 不是显著预测因子。
结论:
如果似然比检验结果显著,且Level 2预测变量的回归系数显著,则表明学校层面的因素对学生数学成绩存在显著影响。
在之前的模型中,我们假设学生SES对数学成绩的影响在所有学校中都是相同的(固定斜率)。然而,实际情况可能并非如此。例如,在某些学校,SES对学生成绩的影响可能更大。为了检验这种可能性,我们需要建立一个随机斜率模型,允许学生SES的斜率在不同学校之间变异。
模型公式:
Math_ij = b0j + b1j * SES_ij + e_ij
b0j = g00 + g01 * SES_mean_j + g02 * Prop47yrc_j + g03 * Public_j + u0j
b1j = g10 + u1j
其中:
b1j
是学校j
中SES的回归系数。g10
是所有学校中SES回归系数的平均值。u1j
是学校层面的随机效应,表示学校j
的SES回归系数与总体平均值之间的差异,假设服从均值为0,方差为τ1²的分布。在SPSS中进行分析:
打开步骤3中的模型分析界面。
点击 “随机…” 按钮。
将 SES
移到 “模型” 框中,这指定了SES的斜率可以随机变异。
点击 “继续” 并运行模型。
结果解释:
SPSS输出的结果将包含以下关键信息:
g00
, g01
, g02
, g03
, g10
.σ²
, τ²
(截距方差) 和 τ1²
(SES斜率方差)。关键在于检查τ1²
是否显著大于0。如果检验结果显著 (p < 0.05),则表明SES的斜率在不同学校之间存在显著差异。
进一步分析:跨层次交互作用
如果发现SES的斜率在学校层面存在显著差异,我们可以进一步分析学校层面的哪些因素能够解释这种差异。例如,我们可以检验学校平均SES是否会影响SES对学生成绩的影响。这可以通过添加跨层次交互作用项来实现。
添加跨层次交互项:
SES*SES_mean
, SES*Prop47yrc
, SES*Public
。 这些项代表学生SES与学校层面变量的交互作用。根据PPT中内容,只有SES*Public
是显著的交互项,说明学生层面的SES对数学成绩的影响受到学校类型的影响。
我们可以绘制简单斜率图来可视化这种交互作用。
绘制简单斜率图
结果显示,SES与数学成绩的关系在不同类型的学校中略有不同。
其他交互作用的探索
虽然SES*Prop47yrc
, SES*SES_mean
的交互项不显著,但也可以绘制相应的图表进行探索。
加入性别变量
最后,PPT还演示了加入性别变量(Female)作为 Level 1 预测变量,并允许其斜率在学校间随机变化,并检验 Female 与 School Type (Public) 的跨层次交互作用。结果发现,Female 与 School Type 存在显著的交互作用。
使用类似的步骤,可以绘制简单斜率图来可视化这种交互作用。
本教程通过一个具体的例子,详细介绍了如何使用多层线性模型分析嵌套数据。我们从简单的零模型开始,逐步加入了学生层面和学校层面的预测变量,并最终建立了随机斜率模型。通过模型比较和结果解释,我们能够更深入地了解学生数学成绩的影响因素,并探索不同学校之间的差异。
希望本教程能够帮助您掌握多层线性模型的基本原理和应用方法。请记住,多层模型是一种非常强大的工具,可以应用于各种领域的研究。
在使用 Mplus 进行混合增长模型 (GMM) 分析时,经常会遇到输出结果中缺少 CFI (Comparative Fit Index) 的情况。这并非总是模型错误或不合理的信号,而是与 GMM 的复杂性、所选的估计方法以及 CFI 本身的适用性有关。
本文介绍了混合增长模型(潜增长混合模型)(Latent Growth Mixture Modeling, LGMM) , 我们通过一个案例介绍了:
本教程旨在为研究人员提供一个关于如何使用混合增长模型(GMM)进行纵向数据分析的实践指南。GMM 是一种用于识别多个未观察到的亚群体,描述每个亚群体内的纵向变化,并检查这些亚群体之间变化差异的方法。本教程将涵盖 GMM 的基本概念、四步分析方法以及使用 Mplus 软件进行模型估计和选择的示例。
这篇文章汇总了所有计量经济学的教程和代码和PPT资源。 主要来源是计量经济学院,
如果你英文很厉害, 可以直接去他们的网站看视频, 如果你无法访问 YT, 或者你英文不好, 可以看我们翻译后的视频: https://www.bilibili.com/video/BV1aMzhYjE2q
然后, 如果你可以访问谷歌网盘, 所有资料都可以从下面的链接中下载, 如果你无法访问, 我们手动打包了所有资源(PPT,SPSS代码,R代码,Stata代码等), 你可以在这里下载:https://wx.zsxq.com/group/88888188828842
这篇文章介绍了 Williams(2010)《Method Variance and Marker Variables: A Review and Comprehensive CFA Marker Technique》的主要内容。它讲的是如何利用一个“标记变量”(可以理解为一种“对照变量”)来排除研究中可能出现的“方法偏差”(也就是研究结果受到测量方法影响的程度)。这篇文章会先回顾别人怎么做的,然后提出自己的方法,并用实际的例子来演示,最后还会讨论理论、假设和局限性。
Meta分析指的是从论文中找到有关变量的数据, 这时候你要分析的数据样本实际上就是各种研究中的数据.
Meta分析的强大之处在于, 它将来自多个独立研究的成果汇总在一起,以得出更强大和更全面的结论。它使用统计方法将研究结果合并成一个综合的估计,并评估结果的异质性。
这是一篇介绍如何使用SPSS做Meta分析的教程, 看过以后你可能会觉得 SPSS 做Meta分析真简单.
当然, 如果有不懂的地方请留言, 如果觉得对你有帮助, 请打赏. 教程中用到的数据我都有, 找我要就行, 下面有方法.